//
// Created by XML on 2023/10/4.
//  动态内存分配
#include <stdio.h>
#include <stdlib.h>
#include <io_utils.h>
#define PLAYER_COUNT 10
int main() {
    int * players;
    // 函数栈内存在出栈后，内存会随着被销毁了
    // 将数据保存到堆内存中，可以永久缓存，除非释放内存free或系统回收才会被销毁
    // 指定堆大小为PLAYER_COUNT
    // malloc 不会初始化内存
//    players = malloc(sizeof(int) * PLAYER_COUNT);
    // calloc 初始化内存为0
 players = calloc( PLAYER_COUNT,sizeof(int) );
    for (int i = 0; i < PLAYER_COUNT; ++i) {
        PRINT_INT(players[i]);
        // 初始化内存
        players[i] = i;
    }
    // 可以当作数组的方式，内存是以单元格方式存在的
    PRINT_INT_ARRAY(players,PLAYER_COUNT)

    // 释放内存
    if(players){
        // 不为null时
        free(players);
    }


    //

    return 0;
}